/**
 * 自除数是指可以被它包含的每一位数除尽的数。
例如，128 是一个自除数，因为 128 % 1 == 0，128 % 2 == 0，128 % 8 == 0。
还有，自除数不允许包含 0 。
给定上边界和下边界数字，输出一个列表，列表的元素是边界（含边界）内所有
的自除数。
示例 1：
输入：
上边界 left = 1, 下边界 right = 22
输出： [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
注意：
- 每个输入参数的边界满足 1 <= left <= right <= 10000
 */

var isValid = function (num) {
    var count = 0;
    for (var i of num.toString()) {
        if (i == 0) {
            continue;
        }
        if (num % i == 0) {
            count++
        }
    }
    if (count === num.toString().length) {
        return true;
    }
    return false;
};

var func = function (left, right) {
    var arr = [];
    for (let i = left; i <= right; i++) {
        if (isValid(i)) {
            arr.push(i);
        }
    }
    return arr;
};

console.log(func(1, 22));